1875C - Jellyfish and Green Apple - CodeForces Solution


greedy math

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#define MAX 31624

using namespace std;

bitset<31624> primes;

vector<int> all_primes;
void siev(){
    primes.set();
    primes[0] = 0;
    primes[1] = 0;

    for(long long i = 2; i < MAX; i++)
        if(primes[i]){
            for(long long j = i * i; j < MAX; j += i)
                primes[j] = 0;
            all_primes.push_back((int)i);
        }
}
set<int> powers ;
void powers_two(){
    int i = 1;
    while (i < 1000000000){
      powers.insert(i);
      i *= 2;
    }
    
}

int main(){
  siev();
  powers_two();

  int t, n, m, nc, mc, ans;cin >> t;
  bool prime, possible;
  for(int tt = 0; tt< t; tt++){
    cin >> n; cin >> m;
    nc = n; mc = m;
    if(n % m == 0){
      ans = 0;
      cout << ans << endl;
      continue;
    }
    prime = true;
    possible = true;
    while (n % 2 == 0){
      n /= 2;
    }
    while (m % 2 == 0){
      m /= 2;
    }
    if(n % m) {
      cout << -1 << endl;
    }
    else{
      long long cont = 0;
      while (nc % mc){
        //cout << nc << endl;
        nc %= mc;
        cont += nc;
        nc *= 2;
      }
      cout << cont << endl; 
    }
  }
}


Comments

Submit
0 Comments
More Questions

1647A - Madoka and Math Dad
710A - King Moves
1131A - Sea Battle
118A - String Task
236A - Boy or Girl
271A - Beautiful Year
520B - Two Buttons
231A - Team
479C - Exams
1030A - In Search of an Easy Problem
158A - Next Round
71A - Way Too Long Words
160A - Twins
1A - Theatre Square
1614B - Divan and a New Project
791A - Bear and Big Brother
1452A - Robot Program
344A - Magnets
96A - Football
702B - Powers of Two
1036A - Function Height
443A - Anton and Letters
1478B - Nezzar and Lucky Number
228A - Is your horseshoe on the other hoof
122A - Lucky Division
1611C - Polycarp Recovers the Permutation
432A - Choosing Teams
758A - Holiday Of Equality
1650C - Weight of the System of Nested Segments
1097A - Gennady and a Card Game